﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Devices.Sensors;
using Microsoft.Xna.Framework;
using S = StaticView.Algorithm;

namespace StaticView.Input
{
    interface ISensor
    {
        void Calibrate(object param);
        Vector3 getValue();
        long getTime();
        SensorType Type { get; }
        void Stop();
        S.Matrix Noise { get; set; }
        TimeSpan TimeBetweenUpdates { get; }
    }

    enum SensorType
    {
        Accelerometer,
        Gyroscope,
        Magnetometer
    }

    delegate void CalibrationCallback(int id, bool success, float[] data);
}
